package core.entities;
// default package
// Generated Apr 30, 2014 9:42:09 AM by Hibernate Tools 4.0.0

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * DatePersonaleSubiect generated by hbm2java
 */
@Entity
@Table(name = "date_personale_subiect", schema = "public", uniqueConstraints = @UniqueConstraint(columnNames = "CNP_subiect"))
public class DatePersonaleSubiect implements java.io.Serializable {

	private int idSubiect;
	private Corp corp;
	private Unitati unitati;
	private String numeSubiect;
	private String initialaTataluiSubiect;
	private String prenumeSubiect;
	private String cnpSubiect;
	private Date dataNasteriiSubiect;
	private String sexulSubiect;
	private String numeAnteriorSubiect;
	private Set<DateExaminari> dateExaminaris = new HashSet(0);

	public DatePersonaleSubiect() {
	}

	public DatePersonaleSubiect(int idSubiect, String cnpSubiect) {
		this.idSubiect = idSubiect;
		this.cnpSubiect = cnpSubiect;
	}

	public DatePersonaleSubiect(int idSubiect, Corp corp, Unitati unitati,
			String numeSubiect, String initialaTataluiSubiect,
			String prenumeSubiect, String cnpSubiect, Date dataNasteriiSubiect,
			String sexulSubiect, String numeAnteriorSubiect, Set<DateExaminari> dateExaminaris) {
		this.idSubiect = idSubiect;
		this.corp = corp;
		this.unitati = unitati;
		this.numeSubiect = numeSubiect;
		this.initialaTataluiSubiect = initialaTataluiSubiect;
		this.prenumeSubiect = prenumeSubiect;
		this.cnpSubiect = cnpSubiect;
		this.dataNasteriiSubiect = dataNasteriiSubiect;
		this.sexulSubiect = sexulSubiect;
		this.numeAnteriorSubiect = numeAnteriorSubiect;
		this.dateExaminaris = dateExaminaris;
	}

	@Id
	@Column(name = "id_subiect", unique = true, nullable = false)
	public int getIdSubiect() {
		return this.idSubiect;
	}

	public void setIdSubiect(int idSubiect) {
		this.idSubiect = idSubiect;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_corp")
	public Corp getCorp() {
		return this.corp;
	}

	public void setCorp(Corp corp) {
		this.corp = corp;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_unitate_incadrare")
	public Unitati getUnitati() {
		return this.unitati;
	}

	public void setUnitati(Unitati unitati) {
		this.unitati = unitati;
	}

	@Column(name = "nume_subiect", length = 100)
	public String getNumeSubiect() {
		return this.numeSubiect;
	}

	public void setNumeSubiect(String numeSubiect) {
		this.numeSubiect = numeSubiect;
	}

	@Column(name = "initiala_tatalui_subiect", length = 4)
	public String getInitialaTataluiSubiect() {
		return this.initialaTataluiSubiect;
	}

	public void setInitialaTataluiSubiect(String initialaTataluiSubiect) {
		this.initialaTataluiSubiect = initialaTataluiSubiect;
	}

	@Column(name = "prenume_subiect", length = 100)
	public String getPrenumeSubiect() {
		return this.prenumeSubiect;
	}

	public void setPrenumeSubiect(String prenumeSubiect) {
		this.prenumeSubiect = prenumeSubiect;
	}

	@Column(name = "CNP_subiect", nullable = false, length = 13)
	public String getCnpSubiect() {
		return this.cnpSubiect;
	}

	public void setCnpSubiect(String cnpSubiect) {
		this.cnpSubiect = cnpSubiect;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "data_nasterii_subiect", length = 13)
	public Date getDataNasteriiSubiect() {
		return this.dataNasteriiSubiect;
	}

	public void setDataNasteriiSubiect(Date dataNasteriiSubiect) {
		this.dataNasteriiSubiect = dataNasteriiSubiect;
	}

	@Column(name = "sexul_subiect", length = 10)
	public String getSexulSubiect() {
		return this.sexulSubiect;
	}

	public void setSexulSubiect(String sexulSubiect) {
		this.sexulSubiect = sexulSubiect;
	}

	@Column(name = "nume_anterior_subiect", length = 100)
	public String getNumeAnteriorSubiect() {
		return this.numeAnteriorSubiect;
	}

	public void setNumeAnteriorSubiect(String numeAnteriorSubiect) {
		this.numeAnteriorSubiect = numeAnteriorSubiect;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "datePersonaleSubiect")
	public Set<DateExaminari> getDateExaminaris() {
		return this.dateExaminaris;
	}

	public void setDateExaminaris(Set<DateExaminari> dateExaminaris) {
		this.dateExaminaris = dateExaminaris;
	}

}
